Users may communicate with each other in real-time using data packets transmitted between respective user terminals. Example real-time communications include audio and/or video calls. To enable this real-time communication, the user terminals set up a session for transmitting packetized data. As the session continues, the available bandwidth in the network may vary, causing for a link to become underutilised or for it to become overloaded. It is therefore useful for a user terminal to be able to assess the capacity of a link over which a communication session is being transmitted by that terminal.
One way of assessing the capacity of a link is to look at all of the User Datagram Protocol/Internet Protocol (UDP/IP) packets coming in on the receiver side and to determine the capacity from the number of correctly received packets.
Another way of assessing the capacity of a link is to transmit packet pairs. A packet pair is a pair of packets, one of which being transmitted very soon (immediately or almost immediately) after the other packet. As the time between the transmission of the two packets is minimal, any spread in the delay in the arrival time of the packet pair at a receiver may be attributed to at least one bottleneck in the network. In the case that there is a bottleneck in the system, the bandwidth of the system may be considered to be equal to the bandwidth of the bottleneck, and future transmissions may be treated accordingly.